PHPUnit 和 CodeIgniter
全部标签 我正在使用MVC模式编写我的第一个Codeigniter站点。我正在构建一些现在加载View的Controller(尚未进入模型),但我注意到我的View和Controller文件具有相同的文件名(如products.php)。它们当然在各自的文件夹中。例如,我有一个AboutController,它加载一个AboutView,这两个View都被命名为about.php。我有一个ProductsController,它加载一个ProductsView,它们都被命名为products.php。这是好习惯吗?从阅读和研究来看,似乎每个人都以不同的方式命名他们的模型,例如Products_M
我正在测试函数是否正确地将数据添加到数据库,但我希望在测试完成后删除测试数据。如果测试失败,它会在失败时退出并且永远不会有机会删除测试行。这是唯一一个命中数据库的测试,所以我真的不想在tearDown()方法中做任何事情。我正在测试一个$obj->save()类型的方法,该方法保存从平面文件解析的数据。 最佳答案 如果您的数据库支持事务,您可以在测试开始时发出start_transaction。如果测试失败(导致程序退出),将执行隐式回滚并撤消您的更改。如果测试成功,则发出显式回滚。另一种选择是将断言包装在try-catch语句中-
当我使用'--verbose'phpunit命令行参数时,我希望仅能够从我的测试中将一些配置数据打印到标准输出。我怎样才能做到这一点? 最佳答案 可能这并不是PHPUnit作者的真正意图,但您可以这样做: 关于php-在我的测试/bootstrap/setup/etc中使用phpunit命令行参数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4905611/
SomeClass类中的方法setValue()接受参数,但无法取回此参数以进行断言。我能否为方法setValue()创建一个stub,以允许保存传递给该方法的参数?classSomeClass{publicfunctionsetValue($name,$value){//dosomestuff}publicfunctiondoSomething(array$values){foreach($valuesas$name=>$value){$this->setValue($name,trim($value));}}}classTestSomeClassextendsPHPUnit_Fra
我刚开始学习CodeIgniter,我正在关注thisnettuts+的身份验证教程。我不明白其中的一件事:他在Welcomecontroller中添加了如下构造代码,基本上只有Session有可变用户名才能访问,否则会重定向到admincontroller。function__construct(){session_start();parent::__construct();if(!isset($_SESSION['username'])){redirect('admin');}}他说:Ifyouhavemultiplecontrollers,theninsteadofaddingt
我的一个View中有一个函数,我想通过CodeIgniter的数据数组访问View可用的变量之一。例如;在我的Controller中我有这个:$this->load->view('someview',array('info'=>'someinfo'));现在,在我看来,我有一个函数,我希望能够从该函数范围内访问变量$info。这可能吗? 最佳答案 在你的Controller中:$GLOBALS['var_available_in_function']=$value;你的功能:functionget_var(){global$var_
我需要一个Codeigniter2.xACL+身份验证库。我需要提供3个不同的管理员用户和2个不同的前端用户,并希望通过数据库动态设置所有内容。请帮忙。 最佳答案 两个最流行的CI身份验证库(至少在今年年初)似乎是Ion_auth和Tank_auth。尽管Ion_auth提供单组功能,但两者都无法处理您的ACL需求。几个月前,我在一个项目中开始使用Tank_auth,但当我需要更大的灵active时切换到Ion_auth。借助其包含的功能,我添加了一个user_groups表以及必要的库和模型函数,以允许每个用户拥有多个组成员身份。
我正在使用codeigniters表单助手为我的网站设置反馈表单。我的表单已创建并已实现验证,一切正常。我唯一的问题是添加set_value()函数以在发生错误时重新填充表单。我无法让它在我的radio输入上工作,如何将set_value()函数添加到radio类型。代码:NewspaperadvertPressreleaseTextmessageEmailReferredtobyafriendTelemarketingLeafletorflyerRadioTelevisionInternetadvertSearchengineNoneoftheabove
我是CodeIgniter的新手(这是我正在学习的第一个框架)。我在我的Controller中得到了这个:if($this->form_validation->run()===FALSE){$this->load->view('account/register',$data);}else{$data['message']=$this->lang->line('account_created');$this->register->insert_account();$this->load->view('account/register_success',$data);}如果表单验证成功,它
我正在尝试让Xdebug远程调试工作,我正在使用PHPStorm作为我的IDE。我的网络服务器/代码托管在远程计算机(amazonec2)上。我在我的远程服务器上的php.ini中有以下几行(PHPCLI,因为我正在进行PHPUnit调试)zend_extension=/usr/lib/php5/20090626+lfs/xdebug.soxdebug.remote_enable=1xdebug.remote_autostart=1xdebug.remote_handler=dbgpxdebug.remote_mode=reqxdebug.remote_connect_back=1xd